#!/bin/sh
set -eu
resources=$(CDPATH= cd -- "$(dirname -- "$0")/../Resources" && pwd)
mode=$(/usr/bin/osascript -e 'choose from list {"Einmalige Hilfe", "Dauerhaft freigeben"} with title "PFISTER GROUP" with prompt "Wie dürfen wir diesen Mac unterstützen?" default items {"Einmalige Hilfe"} OK button name "Weiter" cancel button name "Abbrechen"' 2>/dev/null) || exit 0
[ "$mode" != "false" ] || exit 0
if [ "$mode" = "Dauerhaft freigeben" ]; then
 /usr/bin/osascript -e 'display dialog "Dauerhafter Zugriff erlaubt PFISTER-Administratoren Desktopbedienung, Terminal und Dateien – auch bei geschlossenem Fenster und nach dem Neustart. Nur mit Zustimmung des Gerätebetreibers installieren." with title "PFISTER GROUP · Dauerhafte Freigabe" buttons {"Abbrechen", "Installieren"} default button "Abbrechen" cancel button "Abbrechen"' >/dev/null || exit 0
 /usr/bin/osascript - "$resources/PFISTERRemote.pkg" <<'APPLESCRIPT'
on run arguments
 do shell script "/usr/sbin/installer -pkg " & quoted form of (item 1 of arguments) & " -target /" with administrator privileges
 display dialog "Der PFISTER-Agent wurde installiert. Bildschirmaufnahme und Bedienungshilfen müssen in den macOS-Einstellungen für die Fernwartung freigegeben werden." with title "PFISTER GROUP" buttons {"OK"} default button "OK"
end run
APPLESCRIPT
else
 /usr/bin/osascript -e 'display dialog "Einmalige Hilfe gibt PFISTER-Administratoren während dieser Sitzung Zugriff auf Desktop, Terminal und Dateien. Es wird kein Autostart installiert. Die erforderlichen macOS-Freigaben für Bildschirmaufnahme und Bedienungshilfen müssen bestätigt werden." with title "PFISTER GROUP · Einmalige Hilfe" buttons {"Abbrechen", "Hilfe starten"} default button "Hilfe starten" cancel button "Abbrechen"' >/dev/null || exit 0
 work=$(/usr/bin/mktemp -d "${TMPDIR:-/tmp/}pfister-support.XXXXXXXX")
 agentpid=""
 cleanup(){ if [ -n "$agentpid" ]; then /bin/kill "$agentpid" 2>/dev/null || true; wait "$agentpid" 2>/dev/null || true; fi; /bin/rm -f "$work/PFISTERRemote" "$work/PFISTERRemote.msh" "$work/PFISTERRemote.db" "$work/PFISTERRemote.db.db" "$work/PFISTERRemote.log"; /bin/rmdir "$work" 2>/dev/null || true; }
 trap cleanup EXIT HUP INT TERM
 /bin/cp "$resources/PFISTERRemote" "$work/PFISTERRemote"
 /bin/cp "$resources/PFISTERRemote.msh" "$work/PFISTERRemote.msh"
 /bin/chmod 700 "$work/PFISTERRemote"
 "$work/PFISTERRemote" connect >/dev/null 2>&1 &
 agentpid=$!
 /bin/sleep 2
 if ! /bin/kill -0 "$agentpid" 2>/dev/null; then /usr/bin/osascript -e 'display dialog "Der Support-Agent konnte nicht gestartet werden. Bitte PFISTER informieren. Es wurde kein dauerhafter Dienst installiert." with title "PFISTER GROUP" buttons {"OK"}' >/dev/null; exit 1; fi
 /usr/bin/osascript -e 'display dialog "Die einmalige Unterstützung ist aktiv. Dieses Fenster geöffnet lassen. Mit Hilfe beenden wird der temporäre Agent geschlossen." with title "PFISTER GROUP · Support aktiv" buttons {"Hilfe beenden"} default button "Hilfe beenden"' >/dev/null || true
fi